Jasmine-node is a node.js module that makes Jasmine framework available in node.js.
Install the latest official version with NPM:
sudo npm install jasmine-node -g
Write the tests in *.js
files and put them in the /spec
folder.
Note: The test files must be named as *spec.js
in order for jasmine-node to find them
Run the tests with the command jasmine-node spec/
and the result of the test should show. For example,
jasmine-node spec/
...
Finished in 0.004 seconds
1 test, 1 assertion, 0 failures, 0 skipped
To generate test reports in JUnit format, use --junitreport
argument with jasmine-node
command.
For example,
Run the command jasmine-node spec/ --junitreport
will generate a xml file under /reports
.
The folder where the reports are generated can be changed with --output
argument. For example,
jasmine-node spec/ --junitreport --output reportfolder/new-test-report.xml
will generate a test report named as new-test-report
in reportfolder
directory.
--autotest
argument provides automatic execution of specs after each change.
Combining with --watch
argument can make jasmine-node only re-run tests only if files under specified folders changed.
In this example, a simple test is created to test a node module xml2js
's builder function.
The builder function creates xml strings from javascript objects. For example,
var xml2js = require('xml2js');
var builder = new xml2js.Builder();
var xmlObj = {
root: "rootValue"
};
var xmlStr = builder.buildObject(xmlObj);
will generate a string xmlStr
from the javascript object xmlObj
.
We can then test if xmlStr
contains string <root>rootValue</root>
to determine if the builder function is working.
expect(xmlStr).toContain("<root>rootValue</root>");
The example project can be downloaded here.
Run the command jasmine-node spec
and the following result should show.
Finished in 0.008 seconds
1 test, 4 assertions, 0 failures, 0 skipped